// 使用套接字与浏览器连接，从而接受浏览器的请求，把请求的相关数据发送给浏览器

#ifndef __SERVER_H__
#define __SERVER_H__

#include <stdio.h>
#include <sys/types.h>
#include <sys/socket.h>
#include <netinet/in.h>
#include "Defines.h"

class Server {
private:
	uint16_t _serverPort;				// 服务器端口
	int _sererSocket;					// 服务器套接字

public:
	// 客户端数据
	struct ClientData {
	public:
		sockaddr_in clientAddr;			// 客户端地址
		int clientSocket;				// 客户端套接字
	};

public:
	// 初始化服务器
	bool _initServer(uint16_t *port);
	// 监听浏览器请求
	bool _listen(int queueLength);
	// 接受浏览器请求
	bool _accept(ClientData * clientData);

public:
	// 获取服务器端口
	uint16_t _getServerPort();
	// 获取服务器套接字
	int _getSererSocket();
};

#endif // !__SERVER_H__
